package com.zjwd.basic.domain;

import com.zjwd.common.annotation.Excel;
import com.zjwd.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;

/**
 * 基础中期支付证书对象 basic_ipc
 *
 * @author liquan
 * @date 2024-12-09
 */
public class BasicIpc extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 自增主键
     */
    private Integer id;

    /**
     * 支付项目编号
     */
    @Excel(name = "支付项目编号")
    private String itemCode;

    /**
     * 支付项目名称
     */
    @Excel(name = "支付项目名称")
    private String itemName;

    /**
     * 支付项目状态(0正常 1停用）
     */
    @Excel(name = "支付项目状态(0正常 1停用）")
    private String itemStatus;

    /**
     * 符号 1标识正数 -1标识负数
     */
    @Excel(name = "符号 1标识正数 -1标识负数")
    private BigDecimal itemSign;

    /**
     * 支付项目排序
     */
    @Excel(name = "支付项目排序")
    private Integer itemOrder;

    /**
     * 计算方式 1.百章清单 2.求和 3.百分比 4.固定值 5.其他
     */
    @Excel(name = "计算方式 1.百章清单 2.求和 3.百分比 4.固定值 5.其他")
    private Integer computeMode;

    /**
     * 百章项目，对应计算方式1
     */
    @Excel(name = "百章项目，对应计算方式1")
    private String hundredItem;

    /**
     * 求和项目，对应计算方式2
     */
    @Excel(name = "求和项目，对应计算方式2")
    private String sumItem;

    /**
     * 百分比项目，对应计算方式3
     */
    @Excel(name = "百分比项目，对应计算方式3")
    private String percentageItem;

    /**
     * 百分比系数，对应计算方式3
     */
    @Excel(name = "百分比系数，对应计算方式3")
    private BigDecimal percentageRatio;

    /**
     * 代理方法
     */
    @Excel(name = "代理方法")
    private String invokeTarget;

    /**
     * 是否系统生成 Y:是 N:否
     */
    @Excel(name = "是否系统生成 Y:是 N:否")
    private String isSystem;

    /**
     * 是否报表显示 Y:是 N:否
     */
    @Excel(name = "是否报表显示 Y:是 N:否")
    private String isShow;

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getId() {
        return id;
    }

    public void setItemCode(String itemCode) {
        this.itemCode = itemCode;
    }

    public String getItemCode() {
        return itemCode;
    }

    public void setItemName(String itemName) {
        this.itemName = itemName;
    }

    public String getItemName() {
        return itemName;
    }

    public void setItemStatus(String itemStatus) {
        this.itemStatus = itemStatus;
    }

    public String getItemStatus() {
        return itemStatus;
    }

    public BigDecimal getItemSign() {
        return itemSign;
    }

    public void setItemSign(BigDecimal itemSign) {
        this.itemSign = itemSign;
    }

    public void setItemOrder(Integer itemOrder) {
        this.itemOrder = itemOrder;
    }

    public Integer getItemOrder() {
        return itemOrder;
    }

    public void setComputeMode(Integer computeMode) {
        this.computeMode = computeMode;
    }

    public Integer getComputeMode() {
        return computeMode;
    }

    public void setHundredItem(String hundredItem) {
        this.hundredItem = hundredItem;
    }

    public String getHundredItem() {
        return hundredItem;
    }

    public void setSumItem(String sumItem) {
        this.sumItem = sumItem;
    }

    public String getSumItem() {
        return sumItem;
    }

    public void setPercentageItem(String percentageItem) {
        this.percentageItem = percentageItem;
    }

    public String getPercentageItem() {
        return percentageItem;
    }

    public void setPercentageRatio(BigDecimal percentageRatio) {
        this.percentageRatio = percentageRatio;
    }

    public BigDecimal getPercentageRatio() {
        return percentageRatio;
    }

    public String getInvokeTarget() {
        return invokeTarget;
    }

    public void setInvokeTarget(String invokeTarget) {
        this.invokeTarget = invokeTarget;
    }

    public void setIsSystem(String isSystem) {
        this.isSystem = isSystem;
    }

    public String getIsSystem() {
        return isSystem;
    }

    public void setIsShow(String isShow) {
        this.isShow = isShow;
    }

    public String getIsShow() {
        return isShow;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("itemCode", getItemCode())
                .append("itemName", getItemName())
                .append("itemStatus", getItemStatus())
                .append("itemSign", getItemSign())
                .append("itemOrder", getItemOrder())
                .append("computeMode", getComputeMode())
                .append("hundredItem", getHundredItem())
                .append("sumItem", getSumItem())
                .append("percentageItem", getPercentageItem())
                .append("percentageRatio", getPercentageRatio())
                .append("invokeTarget", getInvokeTarget())
                .append("isSystem", getIsSystem())
                .append("isShow", getIsShow())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}
